#######################################################################################################################
#################### Les fichiers d'entrée du programme : idcoefs sont prèts ##########################################
#######################################################################################################################
#################### De plus, les fichiers ordreped et corresp vont également être utilisés par #######################
#################### les scripts préparant les fichiers pour IBDLD car il faut des pedigrees dans #####################
#################### l'ordre de ordreped et avec le codage corresp ####################################################

#######################################################################################################################
#################### Préparation des fichier pour IBD_LD      ######################################################### 

# Récupération des arguments
args <- commandArgs(TRUE)

ibdped <- read.table(file=args[1],h=F) # Lecture du fichier transposé
ibdfam <- read.table(file=args[2],h=F) # Lecture du pedigree donnant l'ordre de plink - ordre qui doit être changé
ibdordre <- read.table(file=args[3],h=F) # Fichier donnant l'ordre des individus

# algorithme RETROUVE_TAAMEERE : on va trouver la position de chaque individus dans ibdfam en prenant l'ordre de ibdordre
# Comme chaque individu a deux colonnes (allèles), et que le premier allèle est à la colonne 4, on fait 4+2*(position)-1 et 4+2*position
titi <- list()
j <- 1
for (i in 1:dim(ibdordre)[1]) { titi[j] <- (4+2*which(ibdfam$V2==as.character(ibdordre[i,1]))-1);j <- j+1;
                                 titi[j] <- (4+2*which(ibdfam$V2==as.character(ibdordre[i,1]))) ; j <- j+1 }
j <- 1
indices_ordonnes <- do.call(rbind,titi)

# On a les indices dans l'ordre qu'on veut : FIN de l'algorithme RETROUVE_TAAMEERE

nibdped <- ibdped[,c(1:4,indices_ordonnes)]

write.table(nibdped,file=paste("newtfile/",args[4],"_new.tped",sep=""),row.names=F,col.names=F,quote=F)
